$(document).ready(function(){
	
	if ( $('div.contactDetails').length > 0 ) $('form#newContact').hide();
		
	$('div.contactDetails').each( function (i) {
		$(this).hide();
	});
	

	$().contactClickFunctions();
	
	$('div#clientContacts a.addnew').click( function (e) {
		e.preventDefault();
		e.stopPropagation();
		
		var companyid = $('#companyid').val();
		
		if ( companyid ) {
			$.post( siteURL + '/contact/addcontact',
					{'companyid': companyid,
					'ajax': true},
					function (data) {

						$('#contactlist').prepend( data['html'] );
						
						$('#contactlist').find('div.contact:first').addClass('down');
						
						$().invokeInplaceEditing();

						$('div.contact:first a.openMore').click( function (e) {
							e.preventDefault();
							e.stopPropagation();
								
							if ( $(this).parent().next('div.contactDetails').is(':visible') ) {
								$(this).parent().next('div.contactDetails').slideUp('normal', function() {
									$(this).prev('div.contact').removeClass('down');
								});
							} else {
								$(this).parent().addClass('down');
								$(this).parent().next('div.contactDetails').slideDown();
							}
						});
	
						$('div.contact:first').click( function (e) {
							e.stopPropagation();
							
							if ( !$(e.target).is('a') ) {
							
								e.preventDefault();

								if ( $(this).next('div.contactDetails').is(':visible') ) {
									$(this).next('div.contactDetails').slideUp('normal', function() {
										$(this).prev('div.contact').removeClass('down');
									});
								} else {
									$(this).addClass('down');
									$(this).next('div.contactDetails').slideDown();
								}
								
							}
						});
					
					},
					'json');
		
		}
	});
	
	
	
	if ( $('div.addressDetails').length > 0 ) $('form#newAddress').hide();
		
	$('div.addressDetails').each( function (i) {
		$(this).hide();
	});
	
	$('div.address a.openMore').click( function (e) {
		e.preventDefault();
		e.stopPropagation();
		
		if ( $(this).parent().next('div.addressDetails').is(':visible') ) {
			$(this).parent().next('div.addressDetails').slideUp('normal', function() {
				$(this).prev('div.address').removeClass('down');
			});
		} else {
			$(this).parent().addClass('down');
			$(this).parent().next('div.addressDetails').slideDown();
		}
		
	});
	
	$('div.address').click( function (e) {
		e.preventDefault();
		e.stopPropagation();
		
		if ( $(this).next('div.addressDetails').is(':visible') ) {
			$(this).next('div.addressDetails').slideUp('normal', function() {
				$(this).prev('div.address').removeClass('down');
			});
		} else {
			$(this).addClass('down');
			$(this).next('div.addressDetails').slideDown();
		}
	});
	
	$('div#clientAddresses a.addnew').click( function (e) {
		e.preventDefault();
		e.stopPropagation();
		
		var companyid = $('#companyid').val();
		
		if ( companyid ) {
			$.post( siteURL + '/companies/addAddress',
					{'companyid': companyid,
					'ajax': true},
					function (data) {

						$('#addresslist').prepend( data['html'] );
						$().invokeInplaceEditing();
						
						$('#addresslist div.address:first').addClass('down');
						
						$('div.address:first a.openMore').click( function (e) {
							e.preventDefault();
							e.stopPropagation();
							
							if ( $(this).parent().next('div.addressDetails').is(':visible') ) {
								$(this).parent().next('div.addressDetails').slideUp('normal', function() {
									$(this).prev('div.address').removeClass('down');
								});
							} else {
								$(this).parent().addClass('down');
								$(this).parent().next('div.addressDetails').slideDown();
							}
							
						});
						
						$('div.address:first').click( function (e) {
							e.preventDefault();
							e.stopPropagation();
							
							if ( $(this).next('div.addressDetails').is(':visible') ) {
								$(this).next('div.addressDetails').slideUp('normal', function() {
									$(this).prev('div.address').removeClass('down');
								});
							} else {
								$(this).addClass('down');
								$(this).next('div.addressDetails').slideDown();
							}
						});
					
					},
					'json');
		
		}
	});
	
	$('div#clientProjects > div').each( function(i) {
		if (i > 0) $(this).children('table').hide();
		
		$(this).find('a.addnew').click( function (e) {
			e.preventDefault();
			$(this).parent().siblings('table').slideToggle();
		})
	} );
	
	if ($('div#clientProjects > div').length > 0) $('div#clientProjects > form').hide();
	
	$('div#clientProjects h4 a.addnew').click( function(e) {
		e.preventDefault();
		$(this).parent().next('form').slideToggle();
	});
	
	$('form#newContact input.cancel').click( function(e) {
		e.preventDefault();
		e.stopPropagation();
		
		$(this).siblings('input[type="text"] textarea').val('');
		
		$('form#newContact').slideUp();
	});
	
	
});

$.fn.contactClickFunctions = function () {
	$('div.contact a.openMore').click( function (e) {
		e.preventDefault();
		e.stopPropagation();
			
		if ( $(this).parent().next('div.contactDetails').is(':visible') ) {
			$(this).parent().next('div.contactDetails').slideUp('normal', function() {
				$(this).prev('div.contact').removeClass('down');
			});
		} else {
			$(this).parent().addClass('down');
			$(this).parent().next('div.contactDetails').slideDown();
		}
	});
	
	$('div.contact').click( function (e) {
		e.stopPropagation();
		
		if ( !$(e.target).is('a') ) {
		
			e.preventDefault();
			
			
			if ( $(this).next('div.contactDetails').is(':visible') ) {
				$(this).next('div.contactDetails').slideUp('normal', function() {
					$(this).prev('div.contact').removeClass('down');
				});
			} else {
				$(this).addClass('down');
				$(this).next('div.contactDetails').slideDown();
			}
			
		}
	});
}